package commons.utils.facades;

import org.eclipse.swt.custom.CTabFolder;

import commons.utils.facades.CTabFolderFacade;
import commons.utils.facades.WorkbenchPreferenceConstantsFacade;
import commons.utils.facades.internal.FacadeFactory;

public abstract class CTabFolderFacade {

    private static final CTabFolderFacade _INSTANCE = FacadeFactory.createFacade(CTabFolderFacade.class);

    public static CTabFolderFacade getDefault() {
        return _INSTANCE;
    }

    /**
     * Sets the simple property, based on the value of the {@link WorkbenchPreferenceConstantsFacade#SHOW_TRADITIONAL_STYLE_TABS}
     * preference.
     * 
     * @param tabFolder
     */
    public static void setSimple(CTabFolder tabFolder) {
        getDefault().setSimpleImpl(tabFolder);
    }

    /**
     * Sets the simple property, based on the value of the {@link WorkbenchPreferenceConstantsFacade#SHOW_TRADITIONAL_STYLE_TABS}
     * preference.
     * 
     * @param tabFolder
     */
    public abstract void setSimpleImpl(CTabFolder tabFolder);

    /**
     * Sets the simple property, based on the value of the {@code single} argument.
     * 
     * @param tabFolder
     * @param single
     */
    public abstract void setSimple(CTabFolder tabFolder, boolean single);

}
